#include<iostream>
template<class T>
void Swap( const T& x, const  T& y)
{
	T temp = x;
	x= y;
	y = temp;
}

//template<class T>
// T Add(const T& left, const T& light)
//{
//	 return left + light;
//}
int main()
{
	double d1 = 2.0;
	double d2 = 5.0;

	int i = 10;
	int j= 20;
	Swap((int)d1, i);
	Swap<int>(d1, d2);
	Swap(d1, d2);

	/*int a1 = 10;
	int a2 = 20;
	double b1 = 1.0;
	double b2 = 2.0;
	Add(a1, a2);
	Add(a1,(int) b1);
	Add<int>(a1, b2);*/
	return 0;
}